# 文件file

## 打开和关闭文件
"""
模式：
 w：写文件，创建新文件，存在就覆盖，指针在文件末尾
 a：追加的方式写文件，文件不存在会创建，指针在文件末尾
 r：读文件，默认模式，指针在文件开头
 b：组合上面三种使用，wb、ab、rb，表示读写二进制文件，默认的读写文本文件
 +：在模式末尾，表示打开文件后可同时进行读写
"""
myfile = open("file",'r')
myfile.flush()
myfile.close()

myfile.read()       #整个文件读到一个字符串中
myfile.read(2)      #两个字符读到一个字符串中
myfile.readline()   #读一行，包含行尾符号
myfile.readlines()  #全文件读到一个字符串列表中，一行一个字符串
myfile.write("a")   #写入，返回写入的字符个数
myfile.writelines() #将列表写入
myfile.seek(0)      #文件移动到第n个字节，0表示文件开头
myfile.tell()       #返回文件的当前指针位置
for line in myfile: #一行一行读
    print(line)

#将对象暂存至文件中
x=[1,2,'abc']
y={'name':'John','age':15}
myfile=open(r'./temp.bin','wb')
import pickle
pickle.dump(x,myfile)
pickle.dump(y,myfile)
myfile.close()

#将对象从文件中解析出来
myfile=open(r'./temp.bin','rb')
myfile.read()
myfile.seek(0)
x=pickle.load(myfile)
x
y=pickle.load(myfile)
y
myfile.close()